package com.itheima.innerclass1;

public class Test1 {

    public static void main(String[] args) {

        /*Animal a = new Cat();
        a.cry();*/

        // 匿名内部类（匿名指的是不需要为这个类声明名字，默认有个隐藏的名字-外部类名$编号，此处为Test1$1）
        // 匿名内部类本质上是一个子类，并会立即创建出一个子类对象
        //作用：用于更方便地创建一个子类对象

        //书写格式：
                /*new 类或接口(){

                    类体代码（一般是方法重写）

                }；*/

        Animal a = new Animal() {
            @Override
            public void cry() {
                System.out.println("喵喵喵~");
            }
        };
        a.cry();

    }
}

/*
class Cat extends Animal {
    @Override
    public void cry(){

        System.out.println("喵喵喵~");
    }
}*/
